package com.task.controller.annotation;

import com.task.controller.param.ParamParser;
import com.task.controller.param.impl.ToObjectParser;

import java.lang.annotation.*;

/**
 * 此注解表示被标记的方法，将默认使用指定的解析器解析参数
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface Parser {

    /**
     * 默认使用对象解析器接参数
     *
     * @return 解析器的类对象
     */
    Class<? extends ParamParser> cls() default ToObjectParser.class;
}
